/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.dp1.pucp.Compras.VIsta;

import com.dp1.pucp.Administracion.Vista.*;
import com.dp1.pucp.Modelo.Clases.Lineapedidocompra;
import com.dp1.pucp.Modelo.Clases.Pedidocompra;
import com.dp1.pucp.Modelo.Clases.Lineapedidocompra;
import com.dp1.pucp.Util.Validaciones;

import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.border.Border;
import javax.swing.border.TitledBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;

/**
 *
 * @author tupapi.com
 */
public class DetallePedidoCompraGUI extends javax.swing.JDialog {

    /**
     * Creates new form UsuarioGUI
     */
    private JFrame padre;
//    private JTable tblResultados;
//    private DefaultTableModel modelo;
//    private JScrollPane scroll;
//    private Border empty;

    public DetallePedidoCompraGUI(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        setLocationRelativeTo(null);
        this.setTitle("Detalle Pedido Compra");
        try {
            setIconImage(new ImageIcon(getClass().getResource("../../../../../Imagenes/hombre_icono.png")).getImage());
        } catch (Exception ex) {
        }
    }

    public JFrame getPadre() {
        return padre;
    }

    public void setFormPedido(Pedidocompra u) {
        if (u != null) {
            txtCodigo.setText(String.valueOf(u.getCodigo()));
            txtCodigo.setEditable(false);
        }
    }

    public String getCodigo() {
        return txtCodigo.getText().trim();
    }

//    public void llenaGrillaPrimero(ArrayList<Lineapedidocompra> listLineapedidocompra) {
//        panelTabla.removeAll();
//        TitledBorder tituloResultado = BorderFactory.createTitledBorder(empty, "Resultado:");
//        tituloResultado.setTitleJustification(TitledBorder.LEFT);
//        panelTabla.setBorder(BorderFactory.createTitledBorder("Resultados"));
//        panelTabla.updateUI();
//        if (listLineapedidocompra != null) {
//            if (!listLineapedidocompra.isEmpty()) {
//                modelo = new DefaultTableModel() {
//                    @Override
//                    public boolean isCellEditable(int fila, int columna) {
//                        return false;
//                    }
//                };
//
//                modelo.setRowCount(listLineapedidocompra.size());
//                Object nombreCols[] = new Object[7];
//                nombreCols[0] = "";
//                nombreCols[1] = "Producto";
//                nombreCols[2] = "Cantidad";
//                nombreCols[4] = "Proveedor";
//                nombreCols[5] = "P. Unitario";
//                nombreCols[6] = "Total";
//                modelo.setColumnIdentifiers(nombreCols);
//
//
//                for (int i = 0; i < listLineapedidocompra.size(); i++) {
//                    if (i < 9) {
//                        modelo.setValueAt("0" + (i + 1), i, 0);
//                    } else {
//                        modelo.setValueAt(i + 1, i, 0);
//                    }
//                    modelo.setValueAt(listLineapedidocompra.get(i).getTipoproducto().getNombre(), i, 1);
//                    modelo.setValueAt(listLineapedidocompra.get(i).getCantidad(), i, 2);
//
//                }
//
//                tblResultados = new JTable();
//                tblResultados.setDragEnabled(false);
//                tblResultados.setModel(modelo);
//                TableColumn tcol = tblResultados.getColumn("");
//                tcol.setPreferredWidth(30);
//                tcol.setMinWidth(30);
//                tcol.setMaxWidth(30);
//                tblResultados.getColumnModel().getColumn(0).setCellRenderer(tblResultados.getTableHeader().getDefaultRenderer());
//                tblResultados.setEnabled(true);
//                tblResultados.setRowSelectionAllowed(true);
//                scroll = new JScrollPane(tblResultados);
//                panelTabla.add(scroll);
//
//            } else {
//                panelTabla.removeAll();
//                panelTabla.setBorder(empty);
//                Validaciones.mostrarMensajeAvisoVal("No se encontraron resultados.");
//            }
//        } else {
//            panelTabla.removeAll();
//            panelTabla.setBorder(empty);
//            Validaciones.mostrarMensajeAvisoVal("No se encontraron resultados.");
//        }
//
//        panelTabla.updateUI();
//    }

    public void llenaGrillaPrimero(ArrayList<Lineapedidocompra> lista) {
        if (lista != null) {
            ((DefaultTableModel) this.tblResultados.getModel()).setRowCount(0);
            for (int i = 0; i < lista.size(); i++) {
                ((DefaultTableModel) tblResultados.getModel()).setRowCount(tblResultados.getRowCount() + 1);
                tblResultados.setValueAt(lista.get(i).getTipoproducto().getNombre(), i, 0);
                tblResultados.setValueAt(lista.get(i).getCantidad(), i, 1);

            }
        }
    }
//    public void llenaGrillaSegundo(ArrayList<Lineapedidocompra> listLineapedidocompra) {
//        panelTabla.removeAll();
//        TitledBorder tituloResultado = BorderFactory.createTitledBorder(empty, "Resultado:");
//        tituloResultado.setTitleJustification(TitledBorder.LEFT);
//        panelTabla.setBorder(BorderFactory.createTitledBorder("Resultados"));
//        panelTabla.updateUI();
//        if (listLineapedidocompra != null) {
//            if (!listLineapedidocompra.isEmpty()) {
//                modelo = new DefaultTableModel() {
//                    @Override
//                    public boolean isCellEditable(int fila, int columna) {
//                        return false;
//                    }
//                };
//
//                modelo.setRowCount(listLineapedidocompra.size());
//                Object nombreCols[] = new Object[7];
//                nombreCols[0] = "";
//                nombreCols[1] = "Producto";
//                nombreCols[2] = "Cantidad";
//                nombreCols[4] = "Proveedor";
//                nombreCols[5] = "P. Unitario";
//                nombreCols[6] = "Total";
//                modelo.setColumnIdentifiers(nombreCols);
//
//
//                for (int i = 0; i < listLineapedidocompra.size(); i++) {
//                    if (i < 9) {
//                        modelo.setValueAt("0" + (i + 1), i, 0);
//                    } else {
//                        modelo.setValueAt(i + 1, i, 0);
//                    }
//                    modelo.setValueAt(listLineapedidocompra.get(i).getTipoproducto().getNombre(), i, 1);
//                    modelo.setValueAt(listLineapedidocompra.get(i).getCantidad(), i, 2);
//
//                }
//
//                tblResultados = new JTable();
//                tblResultados.setDragEnabled(false);
//                tblResultados.setModel(modelo);
//                TableColumn tcol = tblResultados.getColumn("");
//                tcol.setPreferredWidth(30);
//                tcol.setMinWidth(30);
//                tcol.setMaxWidth(30);
//                tblResultados.getColumnModel().getColumn(0).setCellRenderer(tblResultados.getTableHeader().getDefaultRenderer());
//                tblResultados.setEnabled(true);
//                tblResultados.setRowSelectionAllowed(true);
//                scroll = new JScrollPane(tblResultados);
//                panelTabla.add(scroll);
//
//            } else {
//                panelTabla.removeAll();
//                panelTabla.setBorder(empty);
//                Validaciones.mostrarMensajeAvisoVal("No se encontraron resultados.");
//            }
//        } else {
//            panelTabla.removeAll();
//            panelTabla.setBorder(empty);
//            Validaciones.mostrarMensajeAvisoVal("No se encontraron resultados.");
//        }
//
//        panelTabla.updateUI();
//    }
    public void llenaGrillaSegundo(ArrayList<Lineapedidocompra> lista) {
        if (lista != null) {
            ((DefaultTableModel) this.tblResultados.getModel()).setRowCount(0);
            for (int i = 0; i < lista.size(); i++) {
                ((DefaultTableModel) tblResultados.getModel()).setRowCount(tblResultados.getRowCount() + 1);
                tblResultados.setValueAt(lista.get(i).getTipoproducto().getNombre(), i, 0);
                tblResultados.setValueAt(lista.get(i).getCantidad(), i, 1);
                tblResultados.setValueAt(lista.get(i).getProveedor().getRazonsocial(), i, 2);
                tblResultados.setValueAt(lista.get(i).getCosto(), i, 3);
                tblResultados.setValueAt(lista.get(i).getMoneda().getSimbolo(), i, 4);
                tblResultados.setValueAt(lista.get(i).getSubtotal(), i, 5);
            }
        }
    }

    public void mostrarAviso(String msn) {
        Validaciones.mostrarMensajeAvisoVal(msn);
    }

    public void mostrarError(String msn) {
        Validaciones.mostrarMensajeErrorVal(msn);
    }
    /* public int solicitarConfirmacion(String msn){
     return Validaciones.solicitarConfirmacionVal(msn);
     }    */

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jLayeredPane1 = new javax.swing.JLayeredPane();
        jLabel10 = new javax.swing.JLabel();
        btnGenerarOrden = new javax.swing.JButton();
        txtCodigo = new javax.swing.JTextField();
        btnCancelar = new javax.swing.JButton();
        btnAsignarProv = new javax.swing.JButton();
        panelTabla = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        tblResultados = new javax.swing.JTable();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

        jLabel10.setText("Productos del Pedido de Compra Nro:");

        btnGenerarOrden.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        btnGenerarOrden.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/shipping.png"))); // NOI18N
        btnGenerarOrden.setText("Generar Orden de Compra");
        btnGenerarOrden.setBorderPainted(false);
        btnGenerarOrden.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnGenerarOrden.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM);
        btnGenerarOrden.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnGenerarOrden.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnGenerarOrdenActionPerformed(evt);
            }
        });

        btnCancelar.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        btnCancelar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/cancel.png"))); // NOI18N
        btnCancelar.setText("Cancelar");
        btnCancelar.setBorderPainted(false);
        btnCancelar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnCancelar.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM);
        btnCancelar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnCancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnCancelarActionPerformed(evt);
            }
        });

        btnAsignarProv.setFont(new java.awt.Font("Ubuntu", 0, 10)); // NOI18N
        btnAsignarProv.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/suppliers.png"))); // NOI18N
        btnAsignarProv.setText("Asignar Proveedores");
        btnAsignarProv.setBorderPainted(false);
        btnAsignarProv.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnAsignarProv.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM);
        btnAsignarProv.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnAsignarProv.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnAsignarProvActionPerformed(evt);
            }
        });

        panelTabla.setLayout(new java.awt.BorderLayout());

        tblResultados.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null, null, null},
                {null, null, null, null, null, null},
                {null, null, null, null, null, null},
                {null, null, null, null, null, null}
            },
            new String [] {
                "PRODUCTO", "CANTIDAD", "PROVEEDOR", "P. UNITARIO", "MONEDA", "TOTAL"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, true, false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jScrollPane1.setViewportView(tblResultados);

        panelTabla.add(jScrollPane1, java.awt.BorderLayout.CENTER);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(btnAsignarProv)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(btnGenerarOrden)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btnCancelar)
                .addContainerGap())
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabel10, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addGap(26, 26, 26)
                        .addComponent(txtCodigo, javax.swing.GroupLayout.PREFERRED_SIZE, 185, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(167, 167, 167))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(panelTabla, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addContainerGap())))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel10)
                    .addComponent(txtCodigo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(panelTabla, javax.swing.GroupLayout.DEFAULT_SIZE, 272, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(btnGenerarOrden, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnAsignarProv, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnCancelar, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelarActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_btnCancelarActionPerformed

    private void btnAsignarProvActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAsignarProvActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_btnAsignarProvActionPerformed

    private void btnGenerarOrdenActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnGenerarOrdenActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_btnGenerarOrdenActionPerformed

//        
//    public void addGuardarListener(ActionListener ml){
//        this.btnGuardar.addActionListener(ml);
//    }
//    
    public void addCancelarListener(ActionListener ml) {
        this.btnCancelar.addActionListener(ml);
    }

    public void addAsignarProvListener(ActionListener ml) {
        this.btnAsignarProv.addActionListener(ml);
    }

    public void addGenerarOrdenListener(ActionListener ml) {
        this.btnGenerarOrden.addActionListener(ml);
    }
    /**
     * @param args the command line arguments
     */
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnAsignarProv;
    private javax.swing.JButton btnCancelar;
    private javax.swing.JButton btnGenerarOrden;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLayeredPane jLayeredPane1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JPanel panelTabla;
    private javax.swing.JTable tblResultados;
    private javax.swing.JTextField txtCodigo;
    // End of variables declaration//GEN-END:variables
}
